import redis as redis


class myRedis(object):

    def __init__(self, host, port, password=None):
        # redis 提供两个类 Redis 和 StrictRedis, StrictRedis 用于实现大部分官方的命令，Redis 是 StrictRedis 的子类，用于向后兼用旧版本。
        # redis 取出的结果默认是字节，我们可以设定 decode_responses=True 改成字符串。
        # 直接连接
        # redisdb = redis.Redis(host=str(host), port=port, password=password, decode_responses=True)

        # 连接池连接
        pool = redis.ConnectionPool(host=str(host), port=6379, password=password, db=12)
        redisdb = redis.Redis(connection_pool=pool)
        self.redisdb = redisdb

    #获取连接对象
    def getRedisConection(self):
        return self.redisdb





if __name__ == '__main__':
    myRedis = myRedis('192.168.9.205', 19000)
    #获取链接对象
    redisConection=myRedis.getRedisConection()
    redisConection.set("username",111)
    print(redisConection.get("username"))
    pipe = redisConection.pipeline()  # 创建一个管道
    pipe.set('name', 'jack')
    pipe.set('role', 'sb')
    pipe.sadd('faz', 'baz')
    pipe.incr('num')  # 如果num不存在则vaule为1，如果存在，则value自增1
    pipe.execute()
    print(pipe.get("name"))
    print(pipe.get("role"))
    print(pipe.get("num"))

    pipe.set('hello', 'redis').sadd('faz', 'baz').incr('num').execute()
    print(pipe.get("name"))
    print(pipe.get("role"))
    print(pipe.get("num"))